// export const BASE_URL = 'http://algae.itaem.asia:9082'
export const BASE_URL = 'http://127.0.0.1:9082'
// export const BASE_URL = 'http://work.fifth-apparel.com:9082'

// 拥有的类型问题, 它的值和后台中设置的 type 值相同
export const QUESTION_TYPE_DESCRIPTION = 'description' // 段落描述
export const QUESTION_TYPE_SINGLE = 'single' // 单选题
// export const QUESTION_TYPE_MULTI = 'checkbox' // 多选题
export const QUESTION_TYPE_MULTI = 'multi' // 多选题
export const QUESTION_TYPE_SELECT = 'select' // 下拉选择题
export const QUESTION_TYPE_TEXT = 'text' // 单行文本
export const QUESTION_TYPE_TEXTAREA = 'textarea' // 多行文本
export const QUESTION_TYPE_MATRIX_RADIO = 'matrix_radio' // 矩阵单选

// 声明各个问题对应的组件名称
export const COMPONENT_NAME = {
  // [QUESTION_TYPE_DESCRIPTION]: 'Description',
  [QUESTION_TYPE_SINGLE]: 'Radio',
  // [QUESTION_TYPE_MULTI]: 'Checkbox',
  [QUESTION_TYPE_MULTI]: 'Radio',
  // [QUESTION_TYPE_SELECT]: 'Select',
  [QUESTION_TYPE_SELECT]: 'Radio',
  // TODO: 下拉框也暂时使用统一个组件, 有时间就换个样式
  // [QUESTION_TYPE_TEXT]: 'Text', // TODO: 这些组件其实都有共用的地方，那就是标题加描述
  // [QUESTION_TYPE_TEXTAREA]: 'Textarea',
  [QUESTION_TYPE_MATRIX_RADIO]: 'MatrixRadio',
}
// 问题类型文字说明
export const COMPONENT_TYPE_INFO = {
  [QUESTION_TYPE_DESCRIPTION]: '段落描述',
  [QUESTION_TYPE_SINGLE]: '单选',
  [QUESTION_TYPE_MULTI]: '多选',
  [QUESTION_TYPE_SELECT]: '下拉',
  [QUESTION_TYPE_TEXT]: '单行文本',
  [QUESTION_TYPE_TEXTAREA]: '多行文本',
  [QUESTION_TYPE_MATRIX_RADIO]: '矩形单选',
}

/*
声明各个问题的数据结构. 创建问卷时, 各个问题必须的数据结构必须满足下面这种形式,
每个字段都不允许为空, 如果没有,其中只有 info 允许为空字符串, 其他字段不能为空！
order 的作用很重要！, 它不单单指定了问题的顺序，而且指定了问题数组的下标。
*/
export const TYPE_SCHEMA = {
  [QUESTION_TYPE_DESCRIPTION]: {
    order: undefined,
    type: QUESTION_TYPE_DESCRIPTION,
    title: '',
  },
  [QUESTION_TYPE_SINGLE]: {
    order: undefined,
    type: QUESTION_TYPE_SINGLE,
    title: '',
    info: '',
    required: true,
    options: [''], // 字符串数组
  },
  [QUESTION_TYPE_MULTI]: {
    order: undefined,
    type: QUESTION_TYPE_MULTI,
    title: '',
    info: '',
    required: true,
    options: [''], // 字符串数组
  },
  [QUESTION_TYPE_SELECT]: {
    order: undefined,
    type: QUESTION_TYPE_SELECT,
    title: '',
    info: '',
    required: true,
    options: [''], // 字符串数组
  },
  [QUESTION_TYPE_TEXT]: {
    order: undefined,
    type: QUESTION_TYPE_TEXT,
    title: '',
    info: '',
    required: true,
  },
  [QUESTION_TYPE_TEXTAREA]: {
    order: undefined,
    type: QUESTION_TYPE_TEXTAREA,
    title: '',
    info: '',
    required: true,
  },
  [QUESTION_TYPE_MATRIX_RADIO]: {
    order: undefined,
    type: QUESTION_TYPE_MATRIX_RADIO,
    title: '',
    info: '',
    required: true,
    subTitles: ['', ''], // 字符串数组
    options: ['', ''], // 字符串数组
  },
}

// 获取问卷时, 各个问题的内容格式:
export const DRAW_SCHEMA = {
  [QUESTION_TYPE_DESCRIPTION]: {
    type: QUESTION_TYPE_DESCRIPTION,
    title: '',
    id: '',
  },
  [QUESTION_TYPE_SINGLE]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    type: QUESTION_TYPE_SINGLE,
    seq: -1,
    title: '',
    description: '',
    required: true,
    options: [
      {
        id: '', // 选项id
        text: '', // 选项值
      },
    ],
  },
  [QUESTION_TYPE_MULTI]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    order: undefined, // Number
    seq: -1,
    type: QUESTION_TYPE_MULTI,
    title: '',
    info: '',
    required: true,
    options: [
      {
        id: undefined, // 选项id
        text: '', // 选项值
      },
    ],
  },
  [QUESTION_TYPE_SELECT]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    type: QUESTION_TYPE_SINGLE,
    seq: -1,
    title: '',
    description: '',
    required: true,
    options: [
      {
        id: '', // 选项id
        text: '', // 选项值
      },
    ],
  },
  [QUESTION_TYPE_TEXT]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    type: QUESTION_TYPE_TEXT,
    seq: -1,
    title: '',
    description: '',
    required: true,
  },
  [QUESTION_TYPE_TEXTAREA]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    type: QUESTION_TYPE_TEXTAREA,
    seq: -1,
    title: '',
    description: '',
    required: true,
  },
  [QUESTION_TYPE_MATRIX_RADIO]: {
    id: '', // 此 id 是由后台生成的 id, 提交答案时需要用到
    type: QUESTION_TYPE_MATRIX_RADIO,
    seq: -1,
    title: '',
    description: '',
    required: true,
    subTitles: [
      {
        id: undefined, // 题目 id
        text: '', // 选项值
      },
    ], // 字符串数组
    options: [
      {
        id: undefined, // 选项id
        text: '', // 选项值
      },
    ],
  },
}

/**
 * 收集用户答案时, 各个问题的答案结构:
 * NOTE: options 数组的元素值应该是一个对象
 * [{
 *  id: 选项id
 *  text: 选项内容
 * }]
 */
export const COLLECT_SCHEMA = {
  [QUESTION_TYPE_SINGLE]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_SINGLE,
    options: [],
  },
  [QUESTION_TYPE_MULTI]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_MULTI,
    options: [],
  },
  [QUESTION_TYPE_SELECT]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_SELECT,
    options: [],
  },
  [QUESTION_TYPE_TEXT]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_TEXT,
    text: '',
  },
  [QUESTION_TYPE_TEXTAREA]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_TEXTAREA,
    text: '',
  },
  [QUESTION_TYPE_MATRIX_RADIO]: {
    required: true, // 上传给后台的时候不需要该值, 但是前端需要使用该值进行判断
    id: '',
    type: QUESTION_TYPE_MATRIX_RADIO,
    groups: [
      {
        id: '', // 小标题id
        options: [],
      },
    ],
  },
}
